Manager: Menu Manager



Carbon will support the Menu Manager, with the following changes:

* Your application must use the functions defined by the Menu Manager whenever it creates and disposes of Menu Manager data structures. Some applications, for example, create menus by using the Resource Manager function GetResource (instead of the Menu Manager function GetMenu) and dispose of them by calling ReleaseResource instead of DisposeMenu. This practice is not supported in Carbon.

* The MenuInfo structure is opaque in Carbon. You must revise your application so that it accesses Menu Manager data structures only through accessor functions.

* There are several Menu Manager functions that deal with manipulating menu color information tables. Apple recommends that you stop using them. The Appearance Manager generally disregards these color tables and instead uses the colors defined for the current appearance.

* You are strongly encouraged to adopt the standard Mac OS 8 menu definition procedures (also known as MDEFs) in your application. Your menus will then inherit the systemwide appearance and, furthermore, take advantage of other Menu Manager enhancements planned for the future. Note, however, that if you must use custom menu definition procedures, you must compile them as PowerPC-native code.

 AppendMenu

 appendmenu

Use AppendMenu instead.

 AppendMenuItemText

 AppendResMenu

 CalcMenuSize

 CheckItem

 ClearMenuBar

 ContextualMenuSelect

 CountMItems

 DeleteMCEntries

DeleteMCEntries does nothing, because Appearance Manager doesn't use color tables.

 DeleteMenu

 DeleteMenuItem

 DisableItem

Replaced by DisableMenuItem.

 DisableMenuItem

 DisableMenuItemIcon

 DisposeMCInfo

DisposeMCInfo does nothing, because Appearance Manager doesn't use color tables.

 DisposeMenu

 DrawMenuBar

 EnableItem

Replaced by EnableMenuItem.

 EnableMenuItem

 EnableMenuItemIcon

 FlashMenuBar

 GetItemCmd

 GetItemIcon

 GetItemMark

 GetItemStyle

 GetMBarHeight

 GetMCEntry

GetMCEntry does nothing, because Appearance Manager doesn't use color tables.

 GetMCInfo

GetMCInfo does nothing, because Appearance Manager doesn't use color tables.

 GetMenu

 GetMenuBar

 GetMenuExcludesMarkColumn

You should instead inspect the kMenuExcludesMarkColumn menu attribute using the GetMenuAttributes.

 GetMenuFont

 GetMenuHandle

 GetMenuItemCommandID

 GetMenuItemFontID

 GetMenuItemHierarchicalID

 GetMenuItemIconHandle

 GetMenuItemKeyGlyph

 GetMenuItemModifiers

 GetMenuItemProperty

 GetMenuItemPropertySize

 GetMenuItemRefCon

 GetMenuItemRefCon2

 GetMenuItemText

 getmenuitemtext

Use GetMenuItemText instead.

 GetMenuItemTextEncoding

 GetNewMBar

 HideMenuBar

 HiliteMenu

 InitContextualMenus

 InitMenus

InitMenus does nothing. There is no need to initialize the Menu Manager, because the shared library gets loaded as needed.

 InitProcMenu

You must use the standard menu bar definition function (MBDF).

 InsertFontResMenu

 InsertIntlResMenu

 InsertMenu

 InsertMenuItem

 insertmenuitem

Use InsertMenuItem instead.

 InsertMenuItemText

 InsertResMenu

 InvalMenuBar

 IsMenuBarVisible

 IsMenuItemEnabled

 IsMenuItemIconEnabled

 IsShowContextualMenuClick

 MenuChoice

 MenuEvent

 MenuKey

 MenuSelect

 menuselect

Use MenuSelect instead.

 NewMenu

 newmenu

Use NewMenu instead.

 PopUpMenuSelect

 ProcessIsContextualMenuClient

 RemoveMenuItemProperty

 SetItemCmd

 SetItemIcon

 SetItemMark

 SetItemStyle

 SetMCEntries

SetMCEntries does nothing, because Appearance Manager doesn't use color tables.

 SetMCInfo

SetMCInfo does nothing, because Appearance Manager doesn't use color tables.

 SetMenuBar

 SetMenuExcludesMarkColumn

You should instead set the kMenuExcludesMarkColumn menu attribute using the SetMenuAttributes.

 SetMenuFlash

In the future, the Appearance Manager may control menu-flashing behavior.

 SetMenuFont

 SetMenuItemCommandID

 SetMenuItemFontID

 SetMenuItemHierarchicalID

 SetMenuItemIconHandle

 SetMenuItemKeyGlyph

 SetMenuItemModifiers

 SetMenuItemProperty

 SetMenuItemRefCon

 SetMenuItemRefCon2

 SetMenuItemText

 setmenuitemtext

Use SetMenuItemText instead.

 SetMenuItemTextEncoding

 ShowMenuBar

 SystemEdit

 SystemMenu

[Table of Contents] [Function Index]

Generated on: 2/12/99. Copyright 1998 Apple Computer, Inc. All rights reserved.